package com.softeem.sanguo;

import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * 电视机
 * 游戏的主窗体：用于呈现游戏界面(面板)
 */
public class GameWindow extends JFrame {

    /**
     * 构造方法：在对象创建时执行一些初始化操作
     */
    public GameWindow(){
        //设置游戏标题
        setTitle(Config.TITLE);
        //设置界面大小
        setSize(Config.SC_WIDTH, Config.SC_HEIGHT);
        //设置窗口默认关闭操作(点击窗口关闭按钮不做任何操作)
        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        //为当前窗口绑定事件(适配器模式，匿名内部类，多态)
        addWindowListener(new WindowAdapter() {
            /**
             * 当窗口的关闭按钮被点击时执行以下回调方法
             * @param e the event to be processed
             */
            @Override
            public void windowClosing(WindowEvent e) {
                //显式提示对话框
                int i = JOptionPane.showConfirmDialog(GameWindow.this,"骚年，确定不玩了吗?","关闭提醒",JOptionPane.YES_NO_OPTION);
                if(i == 0){
                    //结束游戏(关闭JVM)
                    System.exit(0);
                }
            }
        });
        //添加游戏主面板到窗体中
        add(new GamePanel(this));
    }

    /**
     * 启动
     */
    public void start(){
        setVisible(true);
    }

}
